package cn.iocoder.yudao.module.crm.api.level;

import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
import cn.iocoder.yudao.module.crm.api.level.dto.CrmLevelConfigDTO;
import cn.iocoder.yudao.module.crm.enums.common.CrmBizTypeEnum;

import java.time.LocalDateTime;
import java.util.Collection;
import java.util.List;
import java.util.Map;

public interface CrmLevelConfigApi {

    CrmLevelConfigDTO getLevelConfig(Long id);

    default Map<Long, CrmLevelConfigDTO> getLevelConfigMap(Collection<Long> ids) {
        List<CrmLevelConfigDTO> LevelConfigs = getLevelConfigList(ids);
        return CollectionUtils.convertMap(LevelConfigs, CrmLevelConfigDTO::getId);
    }


    List<CrmLevelConfigDTO> getLevelConfigList(Collection<Long> ids);

    CrmLevelConfigDTO getMinLevelConfig();

    CrmLevelConfigDTO getMaxLevelConfig(List<Long> ids);

    List<CrmLevelConfigDTO> getLevelConfigList();

    List<CrmLevelConfigDTO> getLevelConfigByUserList();
}
